/*
 *    Copyright (c) 2018-2025, cloud All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: cloud
 */

package com.fuyao.cloud.space.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fuyao.cloud.common.core.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;


/**
 * 房屋信息表
 *
 * @author liyue
 * @date 2021-11-12 14:46:49
 */
@Data
@TableName("fy_room_house")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "房屋信息表")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class RoomHouse extends BaseEntity<RoomHouse> {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty("主键Id")
    private Long id;

	@ApiModelProperty(value="唯一编码(用于关联附件)")
	private String unid;
    /**
     * 房间号
     */
    @ApiModelProperty(value="房间号")
    private String name;

    /**
     * 房屋编码(自动编码按照对应的楼层从1开始自动增长)
     */
    @ApiModelProperty(value="房屋编码(自动编码按照对应的楼层从1开始自动增长)")
    private String code;

    /**
     * 所属楼栋ID
     */
    @ApiModelProperty(value="所属楼栋ID")
    private Long edificeId;

    /**
     * 所属全名称(也就是从区域到楼层的全名称)
     */
    @ApiModelProperty(value="所属全名称(也就是从区域到楼层的全名称)")
    private String parentFullname;

    /**
     * 楼层ID
     */
    @ApiModelProperty(value="楼层ID")
    private Long storeyId;

    /**
     * 楼层名称
     */
    @ApiModelProperty(value="楼层名称")
    private String storeyName;

    /**
     * 房间编号为后期条码用
     */
    @ApiModelProperty(value="房间编号为后期条码用")
    private String assetNumber;

    /**
     * 产权年限
     */
    @ApiModelProperty(value="产权年限")
    private String ageLimit;

    /**
     * 房屋朝向{东、东北、东南、北、南、西、西北、西南}
     */
    @ApiModelProperty(value="房屋朝向{东、东北、东南、北、南、西、西北、西南}")
    private String orientation;

    /**
     * 配套电梯（0无，1有）
     */
    @ApiModelProperty(value="配套电梯（0无，1有）")
    private String elevator;

    /**
     * 房屋类型编码{BG：办公用房、YW：业务用房、JZ：居住用房、QT：其他用房}
     */
    @ApiModelProperty(value="房屋类型编码{BG：办公用房、YW：业务用房、JZ：居住用房、QT：其他用房}")
    private String typeCode;

    /**
     * 房屋类型名称{BG：办公用房、YW：业务用房、JZ：居住用房、QT：其他用房}
     */
    @ApiModelProperty(value="房屋类型名称{BG：办公用房、YW：业务用房、JZ：居住用房、QT：其他用房}")
    private String typeName;

    /**
     * 房屋用途
     */
    @ApiModelProperty(value="房屋用途")
    private String purpose;

    /**
     * 使用面积（平米）
     */
    @ApiModelProperty(value="使用面积（平米）")
    private String useArea;

    /**
     * 建筑面积（平米）
     */
    @ApiModelProperty(value="建筑面积（平米）")
    private String floorage;

    /**
     * 是否危房(0:否、1:是)
     */
    @ApiModelProperty(value="是否危房(0:否、1:是)")
    private String dangerous;

    /**
     * 是否正在施工0否，1是
     */
    @ApiModelProperty(value="是否正在施工0否，1是")
    private String construction;

    /**
     * 建造年代
     */
    @ApiModelProperty(value="建造年代")
    private String constructionAge;

    /**
     * 租金类型为宿舍才显示
     */
    @ApiModelProperty(value="租金类型为宿舍才显示")
    private String rent;

    /**
     * 房屋户型{单间、一房一厅、两房一厅、三房两厅}
     */
    @ApiModelProperty(value="房屋户型{单间、一房一厅、两房一厅、三房两厅}")
    private String layout;

    /**
     * 装修程度{毛坯、普装、精装、豪华装}
     */
    @ApiModelProperty(value="装修程度{毛坯、普装、精装、豪华装}")
    private String renovation;

    /**
     * 房屋价格
     */
    @ApiModelProperty(value="房屋价格")
    private String price;

    /**
     * 备注
     */
    @ApiModelProperty(value="备注")
    private String remarks;

    /**
     * 状态：0：代表空闲，1：预定中， 2：使用中，3:维修中，4：待处置，5：已处置
     */
    @ApiModelProperty(value="状态：0：代表空闲，1：预定中， 2：使用中，3:维修中，4：待处置，5：已处置")
    private String status;

    /**
     * 排序号
     */
    @ApiModelProperty(value="排序号")
    private Integer ordernumber;

    /**
     * 数据权限编码，从区域开始一直按着全编码按照表之间的依赖一直延续下去
     */
    @ApiModelProperty(value="数据权限编码，从区域开始一直按着全编码按照表之间的依赖一直延续下去")
    private String dataCode;

	@ApiModelProperty(value="管理单位ID")
	private Long belongouinfoId;

	@ApiModelProperty(value="管理单位名称")
	private String belongouinfoName;

	@ApiModelProperty(value="管理单位全名称")
	private String belongouinfoFullname;

	public String getStatusStr(){
		return String.valueOf(this.status);
	}

}
